Taming Multi-core Parallelism with Concurrent Mixin Layers

نویسندگان

  • Jeremy Archuleta
  • Tom Scogland
  • Eli Tilevich
چکیده

The recent shift in computer system design to multi-core technology requires that the developer leverage explicit parallel programming techniques in order to utilize available performance. Nevertheless, developing the requisite parallel applications remains a prohibitively-difficult undertaking, particularly for the general programmer. To mitigate many of the challenges in creating concurrent software, this paper introduces a new parallel programming methodology that leverages feature-oriented programming (FOP) to logically decompose a product line architecture (PLA) into concurrent execution units. In addition, our efficient implementation of this methodology, that we call concurrent mixin layers, uses a layered architecture to facilitate the development of parallel applications. To validate our methodology and accompanying implementation, we present a case study of a product line of multimedia applications deployed within a typical multi-core environment. Our performance results demonstrate that a product line can be effectively transformed into parallel applications capable of utilizing multiple cores, thus improving performance. Furthermore, concurrent mixin layers significantly reduces the complexity of parallel programming by eliminating the need for the programmer to introduce explicit low-level concurrency control. Our initial experience gives us reason to believe that concurrent mixin layers is a promising technique for taming parallelism in multi-core environments.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Introducing mixin layers to support the development of context-aware systems

The domain of pervasive computation introduces new opportunities to make software systems aware of the context in which they exist in order to respond more adequately to user expectations. As important as it is to have appropriate ways to obtain context information, it is to provide programmers with clean language features to model the context influence inside of software systems. This paper ex...

متن کامل

Using Mixin Layers for Context-Aware and Self-Adaptable Systems

The use of context information in networks of mobile devices is crucial to respond adequately to the user’s expectations. We therefore require that applications dynamically adapt their behaviour according to context changes. Current-day technology typically consists of a series of programming patterns to achieve dynamic behaviour adaptation. However, combining different contexts in such systems...

متن کامل

An Adaptive Framework for Managing Heterogeneous Many-Core Clusters

The computing needs and the input and result datasets of modern scientific and enterprise applications are growing exponentially. To support such applications, High-Performance Computing (HPC) systems need to employ thousands of cores and innovative data management. At the same time, an emerging trend in designing HPC systems is to leverage specialized asymmetric multicores, such as IBM Cell an...

متن کامل

Implementing Layered Designs with Mixin Layers1

Mixin layers are a technique for implementing layered object-oriented designs (e.g., collaboration-based designs). Mixin layers are similar to abstract subclasses (mixin classes) but scaled to a multiple-class granularity. We describe mixin layers from a programming language viewpoint, discuss checking the consistency of a mixin layer composition, and analyze the language support issues involved.

متن کامل

Aspectual Mixin Layers

Feature-Oriented Programming (FOP) is an appropriate programming paradigm to implement program families and incremental designs. Beside numerous strengths in doing that FOP yields several drawbacks, especially regarding the ability to localize and modularize crosscutting concerns. This is exactly the strength of another prominent programming paradigm, Aspect-Oriented Programming (AOP). In this ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008